#include "pool_head.h"

int init_socket(int *sockfd, const char *port, const char *ip){
    *sockfd = socket(AF_INET,SOCK_STREAM,0);
    ERROR_CHECK(*sockfd,-1,"socket");
    struct sockaddr_in addr;
    addr.sin_family = AF_INET;
    addr.sin_addr.s_addr = inet_addr(ip);
    addr.sin_port = htons(atoi(port));

    int reuse = 1;
    setsockopt(*sockfd, SOL_SOCKET, SO_REUSEADDR, &reuse, sizeof(reuse));

    int ret = bind(*sockfd,(struct sockaddr*)&addr,sizeof(addr));
    ERROR_CHECK(ret,-1,"bind");

    ret = listen(*sockfd,SOMAXCONN);
    ERROR_CHECK(ret,-1,"listen");
    return 0;
}

